]> dgit.raspbian.org Git - gnome-shell.git/log
gnome-shell.git
6 years agoscreenShield: Animate shield using translation_y
Georges Basile Stavracas Neto [Thu, 28 Nov 2019 15:29:12 +0000 (12:29 -0300)]
screenShield: Animate shield using translation_y

Instead of using the 'y', which queues a full relayout and
thus forces effects to be reapplied, use the 'translation_y'
property, that doesn't force relayouts and allows a future
blur effect to actually use the cached framebuffers a lot more.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/864

6 years agoIntroduce ShellBlurEffect
Georges Basile Stavracas Neto [Tue, 7 Jan 2020 19:34:03 +0000 (16:34 -0300)]
Introduce ShellBlurEffect

This is a moderately fast two-pass gaussian blur implementation.
It downscales the framebuffer dynamically before applying the
gaussian shader, which cuts down rendering time quite considerably.

The blur shader takes 2 uniforms as input: the blur radius; and
whether to blur vertically or horizontally.

The blur radius is treated as an integer in C land to simplify
calculations. The vertical parameter is treated as an integer by
the shader simply due to Cogl not having proper boolean support
in snippets.

At last, brightness is also added to avoid needing to use an extra
effect to achieve that. Brightness is applied in a different pipeline
than blur, so we can control it more tightly.

ShellBlurEffect also implements a "background" mode, where the contents
beneath the actor are blurred, but not the actor itself. This mode is
performance-heavy.

Related: https://gitlab.gnome.org/GNOME/gnome-shell/issues/1848

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/864

6 years agoUpdated Spanish translation
Daniel Mustieles [Wed, 8 Jan 2020 15:47:48 +0000 (16:47 +0100)]
Updated Spanish translation

6 years agosystemActions: Alias power-off to halt and stop
Florian Müllner [Sat, 21 Dec 2019 02:31:14 +0000 (03:31 +0100)]
systemActions: Alias power-off to halt and stop

Those are words users may reasonably use when trying to shut down their
computer, so add them to the list of keywords.

https://bugzilla.gnome.org/show_bug.cgi?id=791659

6 years agoUpdate Basque translation
Asier Sarasua Garmendia [Wed, 8 Jan 2020 10:39:23 +0000 (10:39 +0000)]
Update Basque translation

6 years agogitlab: Add issue templates
Björn Daase [Sun, 8 Dec 2019 15:56:14 +0000 (15:56 +0000)]
gitlab: Add issue templates

This adds two GitLab issue templates for:
* Epics
* Features

The actual templates are inspired by the ones Geary provides.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/763

6 years agoUpdate default favorite apps list
Michael Catanzaro [Fri, 20 Dec 2019 13:57:49 +0000 (13:57 +0000)]
Update default favorite apps list

Many of the apps in the favorite apps list have fallen out of favor.

Replacing Rhythmbox with Music and Shotwell with Photos are obvious
moves. Rhythmbox and Shotwell are not core apps, and that means we
assume they are not installed by default. It doesn't really make sense
to have non-default apps in the apps list.

Evolution is also not a core app, and that is not likely to change, so
it should also be removed. Adding Geary might be more controversial. It
is a strong candidate to become a core app, GNOME Mail, in the near
future, but it is not there yet. So this could arguably be considered
premature. But I figure a GSettings
default is a cheap thing; we can always change it later if desired.

Calendar is added at the request of GNOME design team ("replacing" the
calendar functionality of Evolution).

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/907

6 years agodata: Drop old bugzilla references in .desktop files
Florian Müllner [Wed, 4 Dec 2019 15:23:08 +0000 (16:23 +0100)]
data: Drop old bugzilla references in .desktop files

They are obsolete, and I don't think we have a gitlab replacement
(plus the fields probably stopped being relevant when bug-buddy
went out of fashion ages ago).

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/920

6 years agobuild: Use python postinstall script
Florian Müllner [Tue, 3 Dec 2019 22:45:41 +0000 (23:45 +0100)]
build: Use python postinstall script

This is what most GNOME modules now use instead of a shell script,
which makes sense given that the build system itself is written
in python.

This particular copy comes from nautilus ...

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/920

6 years agodocs: Conform to coding style in HACKING guide
Florian Müllner [Mon, 25 Nov 2019 19:17:38 +0000 (20:17 +0100)]
docs: Conform to coding style in HACKING guide

The document is supposed to outline our best practices on the
javascript side, so make sure the code snippets actually conform
to the enforced style.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/919

6 years agoenvironment: Remove unused ease parameter
Florian Müllner [Thu, 19 Dec 2019 22:08:44 +0000 (23:08 +0100)]
environment: Remove unused ease parameter

In an earlier iteration of the ease patch set, animatable properties
and easing parameters were different arguments.

This wasn't the case in the final version, so remove the left-overs.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/917

6 years agoextensionPrefs: Don't (re-)bind text domain
Florian Müllner [Tue, 3 Dec 2019 19:50:14 +0000 (20:50 +0100)]
extensionPrefs: Don't (re-)bind text domain

Gettext is already set up from the binary, no need to do it again
in JS.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/918

6 years agoBump version to 3.35.3
Florian Müllner [Sun, 5 Jan 2020 10:28:17 +0000 (11:28 +0100)]
Bump version to 3.35.3

Update NEWS.

6 years agokeyboard: Fix input-source switcher alignment
Florian Müllner [Fri, 3 Jan 2020 12:06:08 +0000 (13:06 +0100)]
keyboard: Fix input-source switcher alignment

More fallout from commit 104071acbd.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/916

6 years agoUpdate Catalan translation
Jordi Mas [Fri, 3 Jan 2020 22:07:19 +0000 (23:07 +0100)]
Update Catalan translation

6 years agoswitchMonitor: Center align switcher icon's label
Umang Jain [Thu, 2 Jan 2020 07:25:14 +0000 (12:55 +0530)]
switchMonitor: Center align switcher icon's label

Fallout from 104071acbd.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/913

6 years agoUpdated Spanish translation
Daniel Mustieles [Mon, 30 Dec 2019 11:50:57 +0000 (12:50 +0100)]
Updated Spanish translation

6 years agoUpdate Catalan translation
Jordi Mas [Fri, 27 Dec 2019 13:16:47 +0000 (14:16 +0100)]
Update Catalan translation

6 years agoUpdate Galician translation
Fran Dieguez [Wed, 25 Dec 2019 02:40:58 +0000 (02:40 +0000)]
Update Galician translation

6 years agoUpdate Friulian translation
Fabio Tomat [Sun, 22 Dec 2019 18:59:02 +0000 (18:59 +0000)]
Update Friulian translation

6 years agowindowManager: Always reset window actors when minimize animation is cancelled
Robert Mader [Sat, 21 Dec 2019 14:16:47 +0000 (15:16 +0100)]
windowManager: Always reset window actors when minimize animation is cancelled

This was left out in b6d47c18c. Fixes an occasional warning:
`this._minimizeWindowOverwritten is not a function`

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/911

6 years agost/password-entry: Initialize :show-peek-icon property
Florian Müllner [Sat, 21 Dec 2019 03:03:00 +0000 (04:03 +0100)]
st/password-entry: Initialize :show-peek-icon property

The icon is shown by default, but the struct member that backs the
property starts out as FALSE.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/910

6 years agost/password-entry: Fix memory leak
Florian Müllner [Sat, 21 Dec 2019 03:00:56 +0000 (04:00 +0100)]
st/password-entry: Fix memory leak

The peek-password icon is currently created twice, whoops.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/910

6 years agoiconGrid: Fix icon alignment
Florian Müllner [Fri, 20 Dec 2019 21:47:01 +0000 (22:47 +0100)]
iconGrid: Fix icon alignment

We don't want the icon to fill extra space, so set the alignment
accordingly. Otherwise we get an unexpected result when adding
a background just to the icon part (as far as I can tell: just
system-action-icon).

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/909

6 years agost: Fix generated GLSL dependency
Florian Müllner [Fri, 20 Dec 2019 19:54:07 +0000 (20:54 +0100)]
st: Fix generated GLSL dependency

StScrollViewFade depends on st-scroll-view-fade-generated.c, but
that dependency isn't expressed to the build system; we just hope
that the custom target runs before compiling the effect.

Instead, add the generated source to the st target so the dependency
is expressed properly.

(The change from .c to .h is to prevent the file from being both
included and compiled, resulting in a duplicated symbol)

https://bugzilla.gnome.org/show_bug.cgi?id=789937

6 years agoscreenshot: Promisify PickPixel
Florian Müllner [Thu, 19 Dec 2019 02:53:51 +0000 (03:53 +0100)]
screenshot: Promisify PickPixel

Same as the previous commit, but for PickPixel.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/903

6 years agoscreenshot: Promisify SelectArea
Florian Müllner [Thu, 19 Dec 2019 02:39:39 +0000 (03:39 +0100)]
screenshot: Promisify SelectArea

The screenshot code has a fair bit of nested callbacks, which means
that it is a good use case for async functions and Promises.

Most code uses GIO's async pattern, which means it can be easily turned
into promises with Gio._promisify(); first handle the couple of cases
that need custom code though, starting with SelectArea.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/903

6 years agograbHelper: Add (promised-based) grabAsync()
Florian Müllner [Thu, 19 Dec 2019 02:28:50 +0000 (03:28 +0100)]
grabHelper: Add (promised-based) grabAsync()

Some GrabHelper uses are in the form:

    doPreGrabStuff();

    this._grabHelper.grab({
        onUngrab: () => {
            undoPreGrabStuff();
        },
    });

A promise-based variant allows to write this more cleanly as:

    doPreGrabStuff();

    await this._grabHelper.grabAsync();

    undoPreGrabStuff();

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/903

6 years agopopupMenu: Close when source actor gets hidden
Florian Müllner [Tue, 17 Dec 2019 00:01:13 +0000 (01:01 +0100)]
popupMenu: Close when source actor gets hidden

If a menu is anchored to a source actor, it is odd to leave it floating
around when the source actor gets hidden.

Close the menu instead in that case.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/2002

6 years agopanel: Disable menu-toggle shortcuts while top bar is hidden
Florian Müllner [Tue, 17 Dec 2019 00:00:40 +0000 (01:00 +0100)]
panel: Disable menu-toggle shortcuts while top bar is hidden

We currently handle the case where the indicator itself is disabled
(read: hidden), but not when the entire top bar is invisible (for
instance when the primary monitor is in fullscreen state).

It is odd to pop up a top bar menu without the top bar, so check for
the indicator's mapped- instead of visible state.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/2002

6 years agoextension-tool: Don't treat missing .js handler as error
Chuck [Thu, 19 Dec 2019 19:00:51 +0000 (11:00 -0800)]
extension-tool: Don't treat missing .js handler as error

After creating a new extension, we try to open the main source
file with the default handler, which fails when there is none.

But given that the extension was created successfully, don't treat
a missing handler as failure, and print the path to the new extension
instead.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/905

6 years agoappFavorites: unbreak my previous commits
Michael Catanzaro [Fri, 20 Dec 2019 13:59:53 +0000 (13:59 +0000)]
appFavorites: unbreak my previous commits

Oops, apparently even a trivial commit is too hard for me to do without CI.

6 years agoUpdate desktop IDs of favorite apps
Michael Catanzaro [Fri, 20 Dec 2019 13:53:12 +0000 (13:53 +0000)]
Update desktop IDs of favorite apps

Epiphany and Evolution updated their desktop IDs years ago. I assume the
rename list in appFavorites.js ensures this is still working properly
despite the obsolete names.

6 years agoappFavorites: add seahorse to rename list
Michael Catanzaro [Fri, 20 Dec 2019 13:49:07 +0000 (13:49 +0000)]
appFavorites: add seahorse to rename list

6 years agoextensions-tool: Set up translations for standalone builds
Florian Müllner [Tue, 3 Dec 2019 02:02:30 +0000 (03:02 +0100)]
extensions-tool: Set up translations for standalone builds

While we can now build gnome-extensions-tool as stand-alone project,
we are currently missing any translations, as those are part of
gnome-shell.

The easiest option for addressing this would be to symlink the toplevel
po directory into the subproject, however that would mean duplicating
the entire gnome-shell message catalogs.

So instead, set up a bare po directory and provide a script to populate
it from the translations in the toplevel po directory.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/877

6 years agoextensions-tool: Add (back) README.md
Florian Müllner [Tue, 3 Dec 2019 00:58:19 +0000 (01:58 +0100)]
extensions-tool: Add (back) README.md

This was dropped when importing the project into gnome-shell. Now
that is a bit more separate again, it makes sense to add it back.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/877

6 years agoextensions-tool: Move to a subproject
Florian Müllner [Mon, 2 Dec 2019 23:07:01 +0000 (00:07 +0100)]
extensions-tool: Move to a subproject

The gnome-extensions tool code is really independent from the rest of the
code base, and could be used either as part of the gnome-shell build or as
stand-alone project (for example for the extension-ci docker image).

We can actually support both cases by moving the code to a subproject.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/877

6 years agobuild: Remove left-over file
Florian Müllner [Mon, 2 Dec 2019 23:43:08 +0000 (00:43 +0100)]
build: Remove left-over file

The file was generated when importing gnome-extensions-tool from
a standalone repository. It isn't used by the build system, and
really shouldn't have ended up in the repository at all.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/877

6 years agodoap: Add Georges Stavracas as a maintainer
Georges Basile Stavracas Neto [Wed, 18 Dec 2019 18:24:38 +0000 (15:24 -0300)]
doap: Add Georges Stavracas as a maintainer

Looks like he's is working too much in this module, and received
permission from Florian to add himself as a maintainer.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/901

6 years agoStPasswordEntry: Add the peek-password-icon for show/hide passwords
Umang Jain [Tue, 10 Dec 2019 19:05:10 +0000 (00:35 +0530)]
StPasswordEntry: Add the peek-password-icon for show/hide passwords

Also introduce a "show-peek-icon" property to enable/disable
the peek-password-icon in the password entry. This is useful
in cases where the peeking the password functionality needs
to be avoided.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/619

6 years agost-entry: Remove caps-lock feedback warning
Umang Jain [Fri, 13 Dec 2019 12:37:57 +0000 (18:07 +0530)]
st-entry: Remove caps-lock feedback warning

This frees the entry's secondary icon that for other uses.
Caps-lock-warning feedback has been moved to be shown in
the various dialogs instead in the password-entries itself.
StPasswordEntry can now use a peek-password icon as the
secondary icon to show/hide the password present in the
entry.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/619

6 years agojs: Add caps-lock Warning to the dialogs
Umang Jain [Tue, 17 Dec 2019 20:03:45 +0000 (01:33 +0530)]
js: Add caps-lock Warning to the dialogs

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/619

6 years agoshellEntry: Add CapsLockWarning class
Umang Jain [Fri, 13 Dec 2019 08:06:14 +0000 (13:36 +0530)]
shellEntry: Add CapsLockWarning class

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/619

6 years agoshellEntry: Remove isPassword Property
Umang Jain [Mon, 16 Dec 2019 18:41:49 +0000 (00:11 +0530)]
shellEntry: Remove isPassword Property

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/619

6 years agojs: Use StPasswordEntry for password entry fields
Umang Jain [Thu, 12 Dec 2019 09:32:53 +0000 (15:02 +0530)]
js: Use StPasswordEntry for password entry fields

Use the new StPasswordEntry for password entry fields
and remove all direct handling of clutter text of the entry
 via clutter_text_set_password_char to show/hide the password
text. StPasswordEntry will provides a peek-password-icon which
will allow to show/hide the password present in the field to
the user in subsequent commits.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/619

6 years agoshellEntry: Handle PasswordEntries automatically
Umang Jain [Thu, 12 Dec 2019 09:08:42 +0000 (14:38 +0530)]
shellEntry: Handle PasswordEntries automatically

shellEntry should not need to query the clutter-text directly
in order to know if the entry is for passport-input purpose.
shellEntry can easily determine a password-entry by querying
if it is an instance of StPasswordEntry and use it's API
whereever relevant.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/619

6 years agoSt: Add a StPasswordEntry subclass based on StEntry
Umang Jain [Tue, 12 Nov 2019 13:14:17 +0000 (18:44 +0530)]
St: Add a StPasswordEntry subclass based on StEntry

StPasswordEntry will be put to use for password entries
in various shell dialogs. This is done to have a consistent
behaviour for all password entries and introduce a peek
password functionality for these password entries in the
subsequent commits.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/619

6 years agopadOsd: Re-query action labels after mode switches
Carlos Garnacho [Mon, 16 Dec 2019 11:39:49 +0000 (12:39 +0100)]
padOsd: Re-query action labels after mode switches

Do this so the pad OSD is able to update dynamically to mode changes,
showing immediately the new actions for the current mode(s).

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/898

6 years agoworkspace: Pass device to startDrag()
Carlos Garnacho [Fri, 13 Dec 2019 17:14:51 +0000 (18:14 +0100)]
workspace: Pass device to startDrag()

This is necessary to make DnD operations work from tablet devices on
wayland, as it's not the same onscreen pointer sprite than mice. Fixes
window DnD in the overview on tablet devices, no longer having them stick
to the wrong pointer.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/897

6 years agoshell-app: Add discrete GPU support for NVidia drivers
Bastien Nocera [Thu, 24 Oct 2019 12:39:25 +0000 (14:39 +0200)]
shell-app: Add discrete GPU support for NVidia drivers

Use data from switcheroo-control to know which environment variables
to use to launch an application on the discrete GPU. switcheroo-control
version 2.0 or newer should be installed on Linux platforms.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/1810
6 years agoshell: Prime the GPUs property cache for switcheroo-control
Bastien Nocera [Tue, 3 Dec 2019 21:32:23 +0000 (22:32 +0100)]
shell: Prime the GPUs property cache for switcheroo-control

See: https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/781

6 years agoshell: Add API to access switcheroo-control D-Bus proxy
Bastien Nocera [Tue, 3 Dec 2019 11:07:54 +0000 (12:07 +0100)]
shell: Add API to access switcheroo-control D-Bus proxy

See: https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/781

6 years agomain: Add switcheroo-control generated code
Bastien Nocera [Wed, 6 Nov 2019 12:02:27 +0000 (13:02 +0100)]
main: Add switcheroo-control generated code

See: https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/781

6 years agodata: Update switcheroo-control D-Bus interface
Bastien Nocera [Thu, 12 Dec 2019 17:19:29 +0000 (18:19 +0100)]
data: Update switcheroo-control D-Bus interface

It's backwards compatible, so just new properties.

See: https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/781

6 years agoappDisplay: Remove unimplemented 'activate-discrete-gpu'
Bastien Nocera [Mon, 21 Oct 2019 10:48:43 +0000 (12:48 +0200)]
appDisplay: Remove unimplemented 'activate-discrete-gpu'

It was added in commit 009d021 but not advertised, and likely not used
by an application since then.

See: https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/781

6 years agoBump version to 3.35.2
Florian Müllner [Wed, 11 Dec 2019 00:07:31 +0000 (01:07 +0100)]
Bump version to 3.35.2

Update NEWS.

6 years agoutil: Place spawned processes into a systemd scope
Benjamin Berg [Wed, 27 Nov 2019 15:35:45 +0000 (16:35 +0100)]
util: Place spawned processes into a systemd scope

This improves the separation from the shell for applications launched
with Alt+F2 and in a few other cases.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/863

6 years agoshell-global: Place launched applications into a systemd scope
Benjamin Berg [Tue, 26 Nov 2019 18:45:29 +0000 (19:45 +0100)]
shell-global: Place launched applications into a systemd scope

This improves separation from the shells service scope for applications
launched using an XDG desktop file.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/863

6 years agoweather: Only require auto-location authorization if sandboxed
Florian Müllner [Wed, 27 Nov 2019 22:01:15 +0000 (23:01 +0100)]
weather: Only require auto-location authorization if sandboxed

Since commit 87e60ed97843, geoclue no longer pretends that authorization
is useful for system-installed apps (as they can easily lie about their
ID). Unfortunately this broke our auto-location support in case Weather
is installed non-sandboxed, as we are waiting for an authorization that
will never happen.

Unbreak it by only requiring authorization when installed as Flatpak.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1823

6 years agomagnifier: Adapt to painting and picking API change
Robert Mader [Fri, 6 Dec 2019 19:10:58 +0000 (20:10 +0100)]
magnifier: Adapt to painting and picking API change

This was left out in 988a0e7314018

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/891

6 years agoscreenShield: Adapt to painting and picking API change
Robert Mader [Fri, 6 Dec 2019 18:57:37 +0000 (19:57 +0100)]
screenShield: Adapt to painting and picking API change

This was apparently forgotten in 988a0e7314018, causing the warning:
`JS ERROR: Error: Too few arguments to method Clutter.Actor.paint`

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/891

6 years agopopupMenu: Close when a system modal pops up
Florian Müllner [Fri, 6 Dec 2019 17:07:35 +0000 (18:07 +0100)]
popupMenu: Close when a system modal pops up

Just like switcher popups, popup menus don't play well together with
system modals, and generally have a lower priority. So just like
switcher popups, close popup menus when a system modal dialog pops
up.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1536

6 years agoswitcherPopup: Dismiss when a system modal dialog opens
Florian Müllner [Fri, 6 Dec 2019 12:56:24 +0000 (13:56 +0100)]
switcherPopup: Dismiss when a system modal dialog opens

As system modal dialogs may open without user interaction (for instance
polkit or network agent requests), it is possible for them to pop up
while the app/window switcher is up.

The current result of having both up simultaneously is clearly broken,
so we can either dismiss the popup or prevent the modal dialog from
opening. Assume that the dialog indicates a more important action and
should therefore take precedence, so go with the former.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1536

6 years agoperf-helper: Remove unused atoms
Florian Müllner [Thu, 5 Dec 2019 12:29:38 +0000 (13:29 +0100)]
perf-helper: Remove unused atoms

Those aren't used for anything, but make the helper dependent on X11.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/887

6 years agoperf-helper: Add content for custom drawing
Florian Müllner [Thu, 5 Dec 2019 13:12:47 +0000 (14:12 +0100)]
perf-helper: Add content for custom drawing

Drawing windows got a lot more involved with the advent of client-side
decorations. Instead of accounting for visible and invisible borders,
titlebar and shadows when necessary, just add an empty child for the
custom drawing.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/887

6 years agoappDisplay: Rename _allItems array to _orderedItems
Jonas Dreßler [Thu, 31 Oct 2019 23:44:02 +0000 (00:44 +0100)]
appDisplay: Rename _allItems array to _orderedItems

Since both the `_items` object and the `_allItems` array include the
same items, the difference between those variables seems unclear. The
real difference between them (except the different data type) is that
`_allItems` is ordered in the same order as the visible grid, so rename
`_allItems` to `_orderedItems` which makes that more obvious.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/799

6 years agoappDisplay: Make AllViews folderIcons property private
Jonas Dreßler [Thu, 5 Dec 2019 13:06:48 +0000 (14:06 +0100)]
appDisplay: Make AllViews folderIcons property private

This property is not used anywhere outside the class, make it private.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/799

6 years agoappDisplay: Make _items object a Map
Jonas Dreßler [Thu, 31 Oct 2019 23:46:35 +0000 (00:46 +0100)]
appDisplay: Make _items object a Map

Use a Map instead of an Object here makes it easier to loop through
keys, which we're going to do in the next commit.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/799

6 years agoappDisplay: Use _getCategories function instead of duplicating the code
Jonas Dreßler [Thu, 31 Oct 2019 23:19:38 +0000 (00:19 +0100)]
appDisplay: Use _getCategories function instead of duplicating the code

We already have a function which gets the categories of an app and
handles the null-return case, use it.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/799

6 years agocheckBox: Fix expand and align properties
Jonas Dreßler [Wed, 4 Dec 2019 20:37:34 +0000 (21:37 +0100)]
checkBox: Fix expand and align properties

In f2bd39b20c89c1896c124f1dccdd587aa544e45c, the expand property for
checkboxes was accidentally set to the grandchild (the StBin), instead
of the child (the StBoxLayout) of the StButton. Fix that and let the
BoxLayout expand instead of the Bin.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/885

6 years agoextensionPrefs: Always redefine getCurrentExtension() on prefsModule access
Florian Müllner [Sat, 30 Nov 2019 18:15:14 +0000 (19:15 +0100)]
extensionPrefs: Always redefine getCurrentExtension() on prefsModule access

We have three interactions with an extension's prefs module:
 - we import the module
 - we call its init() hook
 - we call its buildPrefsWidget() hook

The first two are one-time actions where we expect most getCurrentExtension()
calls (local imports, initTranslations() etc.).

However it's still possible that the extension will use the utility function
in buildPrefsWidget() as well, either directly or via other functions like
getSettings(): Make sure getCurrentExtension() returns the correct extension
in that case, not the last one whose preferences were initialized.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/873

6 years agoextensionPrefs: Simplify state change handling
Florian Müllner [Sat, 30 Nov 2019 05:01:44 +0000 (06:01 +0100)]
extensionPrefs: Simplify state change handling

The new `ExtensionStateChanged` signal already passes the changed
extension object, no need to request it again with `GetExtensionInfo`.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/873

6 years agoappDisplay: Move to rename folder location
Georges Basile Stavracas Neto [Wed, 4 Dec 2019 20:10:40 +0000 (17:10 -0300)]
appDisplay: Move to rename folder location

Following the same reasoning of the previous commit, move to
the renamed folder location.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/883

6 years agoappDisplay: Show newly created folder when creating
Georges Basile Stavracas Neto [Wed, 4 Dec 2019 20:09:10 +0000 (17:09 -0300)]
appDisplay: Show newly created folder when creating

The icon grid currently sorts icons by their names. When creating new
folders, the folder may end up being in a different page, and that's
confusing since we don't actually move to where the new folder is.

Move the icon grid to the newly created folder.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/883

6 years agocloseDialog: Fix scale of dialog for x11 clients in Wayland sessions
Jonas Dreßler [Wed, 4 Dec 2019 20:23:20 +0000 (21:23 +0100)]
closeDialog: Fix scale of dialog for x11 clients in Wayland sessions

We missed this case in b6e57a5ae8e3871161e2bdcc44e46af1cc56b2f7,
XWayland clients obviously don't use MetaWindowWayland and thus they
don't apply the double scaling that commit was meant to fix.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/884

6 years agokeyboard: Update extended key size on parent size changes
Florian Müllner [Wed, 4 Dec 2019 18:49:17 +0000 (19:49 +0100)]
keyboard: Update extended key size on parent size changes

Extended keys should have the same size as their parent key, so
make sure to update them when the parent size changes.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1976

6 years agokeyboard: Use parent key's allocation for extended key size
Florian Müllner [Wed, 4 Dec 2019 18:48:36 +0000 (19:48 +0100)]
keyboard: Use parent key's allocation for extended key size

An outdated allocation is likely still better in this case than the
preferred size, so use that instead of width/height which may fall
back.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1976

6 years agokeyboard: Create extended keys before updating hover state
Florian Müllner [Wed, 4 Dec 2019 19:01:41 +0000 (20:01 +0100)]
keyboard: Create extended keys before updating hover state

We want extended keys to have the same size as their parent key,
but this is currently broken and the keys end up with their
parent key's preferred size (which is smaller than its allocated
size).

This is due to the way ClutterActor's width/height properties work,
which only return the "real" (i.e. allocated) size when the allocation
is valid, and fall back to the preferred size otherwise.

As changing an StWidget's hover state involves adding or removing
the `:hover` pseudo class, this is currently always the case.
Creating the extended keys first means the keyButton's allocation
is probably valid, so do that.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1976

6 years agokeyboard: Fix widget leak
Florian Müllner [Wed, 4 Dec 2019 18:02:33 +0000 (19:02 +0100)]
keyboard: Fix widget leak

We currently create an extended-keys popup every time it is requested,
but only destroy it (or rather: the last one) when the keyboard itself
is destroyed.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1976

6 years agokeyboard: Use camelCase
Florian Müllner [Wed, 4 Dec 2019 17:51:08 +0000 (18:51 +0100)]
keyboard: Use camelCase

Those aren't GObject properties, so should follow the regular JS style.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1976

6 years agokeyboard: Reindent timeout handlers
Florian Müllner [Wed, 4 Dec 2019 19:40:07 +0000 (20:40 +0100)]
keyboard: Reindent timeout handlers

We are going to touch some of the code, so take that opportunity
to move them to the new indentation style.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1976

6 years agoHACKING.md: Update sample code to use paint context
Jonas Ådahl [Thu, 28 Nov 2019 10:19:27 +0000 (11:19 +0100)]
HACKING.md: Update sample code to use paint context

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/827

6 years agoUse paint and pick context to get framebuffer
Jonas Ådahl [Fri, 22 Nov 2019 17:36:17 +0000 (18:36 +0100)]
Use paint and pick context to get framebuffer

Mutter and Clutter was changed to pass around the current target
framebuffer via the paint context instead of via the deprecated Cogl
framebuffer stack.

The framebuffer stack has also been removed from Cogl so change to use
the one in the paint context instead.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/827

6 years agoAdapt to painting and picking API change
Jonas Ådahl [Fri, 22 Nov 2019 17:35:55 +0000 (18:35 +0100)]
Adapt to painting and picking API change

While still leaving them unused, pass around ClutterPaintContext and
ClutterPickContext when painting and picking.

The reason for splitting this change up in two is to make it possible to
bisect easier in between the API change and the change to using the
framebuffer passed around with the temporary contexts.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/827

6 years agost: Remove broken parsing of @media rules
Federico Mena Quintero [Tue, 3 Dec 2019 01:57:08 +0000 (19:57 -0600)]
st: Remove broken parsing of @media rules

This code didn't even pay attention to the
cur_stmt->kind.media_rule->media_list, and unconditonally considered
each statement in the ->ruleset to be of kind ruleset.  That seems
broken.

(The theme doesn't use any @media queries, and they are unsupported
anyway.)

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/issues/1979

6 years agoFix always-true condition
Federico Mena Quintero [Mon, 2 Dec 2019 14:02:32 +0000 (08:02 -0600)]
Fix always-true condition

CrCascadePrivate->sheets is a statically-sized array inside the
struct; it can't be NULL.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/861#note_659216

6 years agocr-rgb: remove handling of "inherit" and "transparent"
Federico Mena Quintero [Fri, 22 Nov 2019 00:33:14 +0000 (18:33 -0600)]
cr-rgb: remove handling of "inherit" and "transparent"

st-theme-node.c already handles those by itself.

Part of https://gitlab.gnome.org/GNOME/gnome-shell/issues/1934

6 years agoHandle "color: inherit" directly in get_color_from_term(), not in libcroco
Federico Mena Quintero [Fri, 22 Nov 2019 00:30:03 +0000 (18:30 -0600)]
Handle "color: inherit" directly in get_color_from_term(), not in libcroco

The idea is to move handling of "inherit" as early in the parsing as possible.

Part of https://gitlab.gnome.org/GNOME/gnome-shell/issues/1934

6 years agoUse get_color_from_term() instead of get_background_color_from_term()
Federico Mena Quintero [Fri, 22 Nov 2019 00:24:32 +0000 (18:24 -0600)]
Use get_color_from_term() instead of get_background_color_from_term()

The former already checks for term_is_transparent() as its first
thing.

Part of https://gitlab.gnome.org/GNOME/gnome-shell/issues/1934

6 years agoSimplify if statement
Federico Mena Quintero [Thu, 21 Nov 2019 23:02:37 +0000 (17:02 -0600)]
Simplify if statement

And make the end of st_theme_node_lookup_length() consistent with
st_theme_node_lookup_color() and st_theme_node_lookup_shadow().

Part of https://gitlab.gnome.org/GNOME/gnome-shell/issues/1934

6 years agoget_length_internal() - remove unused argument 'suffixed'
Federico Mena Quintero [Thu, 21 Nov 2019 22:59:59 +0000 (16:59 -0600)]
get_length_internal() - remove unused argument 'suffixed'

It was passed as NULL in the single caller of this function.

Part of https://gitlab.gnome.org/GNOME/gnome-shell/issues/1934

6 years agoInclude the libcroco sources directly under src/st/croco
Federico Mena Quintero [Thu, 21 Nov 2019 20:24:02 +0000 (14:24 -0600)]
Include the libcroco sources directly under src/st/croco

This is all of the original libcroco, minus these two which we don't use:

  - cr-sel-eng - the CSS selection engine for xmlNode.
  - cr-style.

Part of https://gitlab.gnome.org/GNOME/gnome-shell/issues/1934

6 years agoswitcherPopup: Fix scrollable check
Florian Müllner [Fri, 29 Nov 2019 00:11:16 +0000 (01:11 +0100)]
switcherPopup: Fix scrollable check

When commit c6cea277e replaced Shell.GenericContainer, the check
whether the required width exceeds the avilable width was changed
from using the minimum widths of items to the natural width of the
scroll view.

That doesn't work correctly, as the *natural* width may well exceed
the actually used width: SwitcherList bases its width request on
children's minimum sizes to force labels to ellipsize.

Fix this by using the minimum width of the scroll view's child instead.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1834

6 years agocalendar-server: Use correct timezone for all-day events
Florian Müllner [Thu, 28 Nov 2019 00:23:36 +0000 (01:23 +0100)]
calendar-server: Use correct timezone for all-day events

Since commit 28c535e34, we use the timezone associated with the ICalTime
instead of the default timezone when converting to time_t. However while
that is correct for most events, for ICalTimes that don't have a timezone
associated we still want to fall back to the default timezone instead of
UTC.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1895

6 years agotheme: Add light styling to message buttons
Joonas Henriksson [Tue, 26 Nov 2019 23:20:31 +0000 (01:20 +0200)]
theme: Add light styling to message buttons

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/865

6 years agoappIcon: Draw running dot above the overview icon
Joonas Henriksson [Wed, 27 Nov 2019 00:13:24 +0000 (02:13 +0200)]
appIcon: Draw running dot above the overview icon

Prevent the app-well-app-running dot from getting unintentionally
hidden behind the overview-icon background by initializing the
running-dot after its sibling overview-icon.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/866

6 years agofileUtils: Delete deleteGFile hack
Florian Müllner [Mon, 25 Nov 2019 21:54:44 +0000 (22:54 +0100)]
fileUtils: Delete deleteGFile hack

It is true that delete is a javascript keyword, but that doesn't
prevent it from being used as method name - there are event built-in
types like Map or Set with delete() methods!

So if that hack was ever needed, this hasn't been the case for years
now; just removed the hack now.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/862

6 years agoUpdate Brazilian Portuguese translation
Ricardo Silva Veloso [Tue, 26 Nov 2019 19:58:38 +0000 (19:58 +0000)]
Update Brazilian Portuguese translation

6 years agotexture-cache: Remove also scaled keys from the cache
Daniel García Moreno [Tue, 26 Nov 2019 07:28:21 +0000 (08:28 +0100)]
texture-cache: Remove also scaled keys from the cache

We're storing in the texture cache images and scaled images appending
the scaling factor to the key. When a file changes the cache key
corresponding to that file is removed, but not the keys for the scaled
ones so that images in the cache are never reloaded.

This patch removes all keys from the cache related to the file that
changes, including those with the scaling factor.

A new set (hash table) was added to keep track of scale used to be able
to remove all possible images in the cache.

When the KEY is removed from the cache, we can look now in the scale set
for and each scale we also remove the key "KEY1.000000", "KEY2.000000",
etc.

Assuming that the number of used scales is small (I would typically
expect one or two), the overhead should be negligible.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/567

6 years agodata: Enable clean session shutdown after gnome-shell failure
Benjamin Berg [Mon, 25 Nov 2019 14:15:01 +0000 (15:15 +0100)]
data: Enable clean session shutdown after gnome-shell failure

If the GNOME shell crashes, we run a service that may disable
extensions. This is important so that users will not be locked out of
their own session in case an extension is causing crashes.

As this is a very agressive action, we tried to only do this in the
first two minutes of the session. Unfortunately, the logic was broken
and would result in an unclean session shutdown.

Fix this by using the newly introduced gnome-shell-disable-extensions
file. This is created by the extension subsystem for a period of time to
indicate the extensions may be the cause of a gnome-shell failure.

See
  https://gitlab.gnome.org/GNOME/gnome-session/issues/43
for a log of the bug happening and the gnome-session part to fix this.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/858